#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <string.h>
#include <sys/mman.h>
#include <fcntl.h>
#include <sys/wait.h>
#include <signal.h>
#include <pthread.h> // 线程对应的头文件

void *myfunc(void *arg)
{
    printf("child thread id: %lu\n", pthread_self());
    return NULL;
}

int main()
{
    // main 函数里面都是主线程的处理代码
    // 而在回调函数都是子线程
    // 创建一个子线程
    // 线程ID变量
    pthread_t pthid;
    int ret = pthread_create(&pthid, NULL, myfunc, NULL);
    if (ret != 0)
    {
        printf("error number %d\n", ret);
        // 打印错误信息
        printf("%s\n", strerror(ret));
    }
    printf("parent thread id: %lu\n", pthread_self());
    pthread_exit(NULL);
    // sleep(2);

    for (int i = 0; i < 5; ++i)
    {
        printf("parent i = %d\n", i);
    }
}
